/*
* Copyright (c) 2014 Qunar.com. All Rights Reserved.
*/
package net.oschina.bilbodai.common.beanutil.property.test;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;

/**
 * @author qt-maodai  Date: 15-8-5 Time: 上午11:29
 * @version $Id$
 */
public class Student {

    private School school;
    private Friend friend;

    public static class Friend{
        private int age;
        private double score;
        private String name;

        public double getScore() {
            return score;
        }

        public String getName() {
            return name;
        }

        public int getAge() {
            return age;
        }

        public void setAge(int age) {
            this.age = age;
        }
    }

    public static class School {
        private List<ClassRoom> classRooms;
        private ArrayList<String> name;
        private ClassRoom[] rooms;
        private String[] labels;
        private String leader;

        private Map<String, ClassRoom> namedClassRoomStringKey = new HashMap<String, ClassRoom>();
        private Map<Boolean, ClassRoom> namedClassRoomBoolKey = new HashMap<Boolean, ClassRoom>();
        private Map anonyRoomStringKey = new HashMap();
        private Map bitMap = new HashMap();
        private List bitList = new LinkedList();

        private int[] bits;

        private byte flag;

        public List getBitList() {
            return bitList;
        }

        public void setBitList(List bitList) {
            this.bitList = bitList;
        }

        public Map getBitMap() {
            return bitMap;
        }

        public void setBitMap(Map bitMap) {
            this.bitMap = bitMap;
        }

        public byte getFlag() {
            return flag;
        }

        public void setFlag(byte flag) {
            this.flag = flag;
        }

        public int[] getBits() {
            return bits;
        }

        public void setBits(int[] bits) {
            this.bits = bits;
        }

        public List<ClassRoom> getClassRooms() {
            return classRooms;
        }

        public void setClassRooms(List<ClassRoom> classRooms) {
            this.classRooms = classRooms;
        }

        public ArrayList<String> getName() {
            return name;
        }

        public void setName(ArrayList<String> name) {
            this.name = name;
        }

        public String[] getLabels() {
            return labels;
        }

        public void setLabels(String[] labels) {

            this.labels = labels;
        }

        public String getLeader() {
            return leader;
        }

        public void setLeader(String leader) {
            this.leader = leader;
        }

        public ClassRoom[] getRooms() {
            return rooms;
        }

        public void setRooms(ClassRoom[] rooms) {

            this.rooms = rooms;
        }

        public Map<String, ClassRoom> getNamedClassRoomStringKey() {
            return namedClassRoomStringKey;
        }

        public void setNamedClassRoomStringKey(Map<String, ClassRoom> namedClassRoomStringKey) {
            this.namedClassRoomStringKey = namedClassRoomStringKey;
        }

        public Map<Boolean, ClassRoom> getNamedClassRoomBoolKey() {
            return namedClassRoomBoolKey;
        }

        public void setNamedClassRoomBoolKey(Map<Boolean, ClassRoom> namedClassRoomBoolKey) {
            this.namedClassRoomBoolKey = namedClassRoomBoolKey;
        }

        public Map getAnonyRoomStringKey() {
            return anonyRoomStringKey;
        }

        public void setAnonyRoomStringKey(Map anonyRoomStringKey) {
            this.anonyRoomStringKey = anonyRoomStringKey;
        }
    }

    public static class ClassRoom {
        private String name;
        private String[] remarks;
        private Map<String, String> tips;
        private Map<Integer,String> nums;
        private Map<Long,String> males;
        private Map<Float,String> loops;
        private Map<ClassRoom,String> extras;
        private Map<Boolean,String> flags;

        public Map<String, String> getTips() {
            return tips;
        }

        public void setTips(Map<String, String> tips) {
            this.tips = tips;
        }

        public String[] getRemarks() {
            return remarks;
        }

        public void setRemarks(String[] remarks) {
            this.remarks = remarks;
        }

        public Map<Integer, String> getNums() {
            return nums;
        }

        public void setNums(Map<Integer, String> nums) {
            this.nums = nums;
        }

        public Map<Boolean, String> getFlags() {
            return flags;
        }

        public void setFlags(Map<Boolean, String> flags) {
            this.flags = flags;
        }

        public Map<Long, String> getMales() {
            return males;
        }

        public void setMales(Map<Long, String> males) {
            this.males = males;
        }

        public Map<Float, String> getLoops() {
            return loops;
        }

        public void setLoops(Map<Float, String> loops) {
            this.loops = loops;
        }

        public Map<ClassRoom, String> getExtras() {
            return extras;
        }

        public void setExtras(Map<ClassRoom, String> extras) {
            this.extras = extras;
        }

        public String getName() {
            return name;
        }

        public void setName(String name) {
            this.name = name;
        }
    }

    public Friend getFriend() {
        return friend;
    }

    public void setFriend(Friend friend) {
        this.friend = friend;
    }

    public School getSchool() {
        return school;
    }

    public void setSchool(School school) {
        this.school = school;
    }

    public static void main(String[] args) {
        System.out.println(ClassRoom.class.getName());
    }
}